#ifndef FFT_H
#define FFT_H
#include <string>

#define PI 3.14159265359L

class FFT
{
		int n, m;
		// Lookup tables.  Only need to recompute when size of FFT changes.
		double* _cos;
		double* _sin;
		double* window;
		
public: 
		FFT();
		FFT(int n); 
		~FFT();

		double* getWindow();
		void fft(double* x, double* y); 

protected: 
		void makeWindow();
		void makeWindow(char* WindowName);
		
};	
#endif